// pages/productDetail/productDetail.js

const {getPrductById, getProductFeedBack, addProductFeedBack} = require('../../utils/http/api')
const tool = require('../../utils/tool')

Page({

  /**
   * 页面的初始数据
   */
  data: {
    richTextData: '<div><h2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;大模型安全解决方案概述</h2><p><br>&nbsp;&nbsp;&nbsp;&nbsp;大模型安全解决方案是针对大型人工智能模型在训练、部署、应用等全生命周期中面临的安全风险与挑战而设计的一整套综合性方案。这些方案旨在确保大模型在提供高效、智能服务的同时，能够保护用户数据隐私、维护模型安全稳定，并符合相关的法律法规要求。</p><div><h3>数据安全与隐私保护</h3><p>&nbsp;&nbsp;&nbsp;&nbsp;针对大模型在训练、精调、推理等阶段涉及的大量敏感数据，解决方案会采用数据加密、数据脱敏、访问控制等技术手段，确保数据在传输、存储和处理过程中的安全性。同时，通过构建可信执行环境、采用联邦学习等隐私保护技术，降低数据泄露和隐私侵犯的风险。</p></div><div><h3>模型保护</h3><p>&nbsp;&nbsp;&nbsp;&nbsp;大模型本身也面临被窃取、篡改或遭受对抗样本攻击等威胁。因此，解决方案会提供模型加密、水印嵌入、模型监控等保护措施，确保模型的完整性和安全性。此外，还会通过定期的安全审计和漏洞扫描，及时发现并修复潜在的安全隐患。</p></div><div><h3>内容合规性</h3><p>&nbsp;&nbsp;&nbsp;&nbsp;大模型生成的内容需要符合法律法规和社会价值观的要求。解决方案会建立内容审核机制，利用自然语言处理、图像识别等技术手段对生成内容进行自动化审核和过滤，确保内容的合规性和正面性。</p></div><div><h3>业务运营安全</h3><p>&nbsp;&nbsp;&nbsp;&nbsp;在大模型的业务运营阶段，解决方案会关注账号安全、接口防护、流量监控等方面的问题。通过采用多因素认证、API网关防护、DDoS防护等技术手段，确保业务运营的稳定性和安全性。</p></div><div><h3>智能化安全测评与防御</h3><p>&nbsp;&nbsp;&nbsp;&nbsp;一些先进的大模型安全解决方案还会引入智能化安全测评和防御技术，如大模型X光扫描、AI鉴真等。这些技术能够深入大模型内部进行安全检测，发现潜在的安全风险并进行及时修复。同时，通过构建智能化的防御体系，能够有效应对各类网络攻击和恶意行为。</p></div></div>',
    pageNum: 1,
    feedback: '' // 用于存储用户输入的评论内容
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    let _this = this
    _this.setData({
      id: options.id
    })
    _this.getPrductById()
    _this.getProductFeedBack()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  getProductFeedBack() {
    let _this = this;
    getProductFeedBack(_this.data.id).then((res) => {
      console.log("产品留言", res);
      if (res && res.rows) {  // 确保res和res.data都存在  
        const productFeedbackList = res.rows;

        _this.setData({
          productFeedbackList: productFeedbackList,
        });
      }
    }).catch((error) => {
      console.error('请求产品详情失败:', error);
    });
  },

  getPrductById() {
    let _this = this;
    getPrductById(_this.data.id).then((res) => {
      console.log("产品", res);
      if (res && res.data) {  // 确保res和res.data都存在  
        const product = res.data;
        _this.setData({
          product: product,
        });
        _this.parseActivityTimes(); // 在数据加载后解析时间 
      }
    }).catch((error) => {
      console.error('请求产品详情失败:', error);
    });
  },

  // 更新评论内容
  updateFeedback(e) {
    this.setData({
      feedback: e.detail.value
    });
  },

  uploadDiscussion() {
    let _this = this;
    if (!_this.data.feedback) {
      wx.showToast({
        title: '评论内容不能为空',
        icon: 'none'
      });
      return;
    }

    addProductFeedBack({
      feedback: _this.data.feedback,
      enterpriseProductId: _this.data.id,
      createBy: 3, // 这里假设用户ID为1，你可以根据实际情况修改
      rating: 4 // 默认评分为4
    }).then((res) => {
      wx.showToast({
        title: '发布成功',
        icon: 'success'
      });
      _this.getProductFeedBack(); // 重新获取产品留言以更新页面
      _this.setData({
        feedback: '' // 清空评论输入框
      });
    }).catch((error) => {
      console.error('发布评论失败:', error);
      wx.showToast({
        title: '发布失败，请重试',
        icon: 'none'
      });
    });
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
});
